PART 11. 데이터 분석

목차


학습 목표

📖 목차


11.1 판다스 데이터프레임

판다스(Pandas)는 데이터를 분석하고 처리하기 위한 대표적인 파이썬 라이브러리이다.

본 예제는 pandas 데이터프레임을 이용한 데이터 처리(선택, 계산, 전처리)의 기본 흐름을 보여 준다.


import pandas as pd

데이터프레임 생성

본 예제는 딕셔너리를 생성하고 키-값 쌍을 추가하거나 조회하는 기본 사용법을 보여 준다. 딕셔너리는 순서보다 ‘키를 통한 빠른 조회’에 강점이 있으므로, 항목 이름을 키로 삼는 상황에 적합하다.


data = {
    "name": ["민수", "지수", "영희"],
    "test": [85, 90, 78],
    "assign1": [80, 88, 75],
    "assign2": [82, 92, 70]
}

df = pd.DataFrame(data)
print(df)

열 선택

본 예제는 해당 단원에서 다루는 핵심 개념을 코드로 확인하기 위한 예시이다. 변수의 의미를 파악한 뒤, 입력·처리·출력의 흐름을 따라 실행 결과를 해석하는 것이 중요하다.


print(df["name"])
print(df[["name", "test"]])

데이터프레임 순회

본 예제는 해당 단원에서 다루는 핵심 개념을 코드로 확인하기 위한 예시이다. 변수의 의미를 파악한 뒤, 입력·처리·출력의 흐름을 따라 실행 결과를 해석하는 것이 중요하다.


for idx, row in df.iterrows():
    print(idx, row["name"], row["test"])

11.2 데이터 전처리

열 연산 및 조건 처리

본 예제는 해당 단원에서 다루는 핵심 개념을 코드로 확인하기 위한 예시이다. 변수의 의미를 파악한 뒤, 입력·처리·출력의 흐름을 따라 실행 결과를 해석하는 것이 중요하다.


df["sum"] = df["test"] + df["assign1"] + df["assign2"]
df["grade"] = df["sum"].apply(
    lambda x: "A" if x >= 90 else ("B" if x >= 80 else "C")
)
print(df)

정렬과 삭제

본 예제는 리스트의 기본 조작을 다룬다. append()는 끝에 원소를 추가하고, insert()는 원하는 위치에 삽입하며, remove()는 지정한 값을 삭제한다. 또한 sort()를 이용하여 리스트를 정렬할 수 있음을 확인한다.


df_sorted = df.sort_values(by="sum", ascending=False)
df.drop("assign2", axis=1, inplace=True)

누락 데이터 처리

본 예제는 해당 단원에서 다루는 핵심 개념을 코드로 확인하기 위한 예시이다. 변수의 의미를 파악한 뒤, 입력·처리·출력의 흐름을 따라 실행 결과를 해석하는 것이 중요하다.


df.isna().sum()
df.fillna(0, inplace=True)

11.3 판다스 함수

통계 함수

본 예제는 해당 단원에서 다루는 핵심 개념을 코드로 확인하기 위한 예시이다. 변수의 의미를 파악한 뒤, 입력·처리·출력의 흐름을 따라 실행 결과를 해석하는 것이 중요하다.


print(df.describe())

문자열 함수

본 예제는 문자열 메서드를 활용하여 대소문자 변환, 부분 문자열 탐색, 구성 검증을 수행하는 방법을 보인다. 입력 문자열의 형태를 통일하거나(upper/lower), 포함 여부를 판정(find), 조건을 검사(isalnum, len)하는 흐름이 포함된다.


df["name"] = df["name"].str.upper()

11.4 파일 데이터 이용

CSV 파일 불러오기

본 예제는 read_csv()로 CSV 파일을 불러와 데이터프레임으로 적재하는 절차를 제시한다. head()로 일부 행을 확인하면 열 구조와 데이터 상태를 빠르게 점검할 수 있다.


df = pd.read_csv("precipitation.csv")
print(df.head())

CSV 파일 저장

본 예제는 해당 단원에서 다루는 핵심 개념을 코드로 확인하기 위한 예시이다. 변수의 의미를 파악한 뒤, 입력·처리·출력의 흐름을 따라 실행 결과를 해석하는 것이 중요하다.


df.to_csv("output.csv", index=False)

11.5 [플러스 예제] 자동차 배기량과 CO₂ 배출량

본 예제는 딕셔너리를 생성하고 키-값 쌍을 추가하거나 조회하는 기본 사용법을 보여 준다. 딕셔너리는 순서보다 ‘키를 통한 빠른 조회’에 강점이 있으므로, 항목 이름을 키로 삼는 상황에 적합하다.


import matplotlib.pyplot as plt

data = {
    "engine": [1000, 1600, 2000, 2500],
    "co2": [120, 150, 180, 220]
}

df = pd.DataFrame(data)

plt.scatter(df["engine"], df["co2"])
plt.xlabel("배기량")
plt.ylabel("CO₂ 배출량")
plt.title("배기량과 CO₂ 배출량 관계")
plt.show()